home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
BARNET
/
FREENET
/
BRODIE
/
GOPHERD_
/
ReadMe1st
Wrap
Text File
|
1997-04-23
|
4KB
|
130 lines
!GopherD
========
Contents:
Legal Declaration
How to structure a gopher database
How to write a gopher menu
How to edit the top level menu
How to browser your gopher database with ArcWeb
Legal Declaration
=================
In the legal declaration below, "This Product" is defined to be all the
files within the original archive.
"the author" is Stewart Brodie (S.N.Brodie@ecs.soton.ac.uk)
Copyright of the product remains with the author.
This version of this product is 'freeware'. My definition of 'freeware':
This means that the author retains copyright over the product, but allows
unlimited distribution except:
i) No charge must be made (except for a nominal fee for distribution media)
ii) This Product must be distributed as a complete package
iii) This Product may not be distributed as part of a non-free
[free as in (i)] package (of any kind, magazine/hardware/software)
without prior written consent from the author
authors.
iv) If any further distribution occurs compliant with all of the above,
credit must be clearly given to the author
No liability whatsoever is accepted by the author of this product for losses
or damage of any kind at all arising, or allegedly arising, from the use, or
misuse, of This Product. You are hereby warned that any costs incurred
through the use of this package over a non-free networking medium are the
sole responsibility of the user.
The author does not guarantee the functionality of the package, and does not
guarantee to fix any reported bugs, although the author will investigate bug
reports and may release new versions.
How to structure a gopher database
==================================
Gopher objects have a (single ASCII character) type associated with them. It
is conventional to create a subdirectory for each type and place the objects
inthese subdirectories, sorted by type, although it is not a requirement of
the gopher protocol.
Gopher databases usually have hierarchies of menus
How to write a gopher menu
==========================
Gopher menus have each entry on its own line. You will need a text editor
which preserves TAB characters! The format of a menu line is:
typeDescriptionTABselectorTABhostnameTABport
where:
* type is the single ASCII type character (see below)
* Description is the user-visible name of the object
* selector is the opaque selector to retrieve the object
* hostname is the gopher host where this object is
* port is the TCP port number on which the gopher server resides on hostname
* TAB is a single byte ASCII 9 character.
Main type bytes are: (see RFC1436 for a list) [Note: there are duplicates
in the list - you should use the alphabetic character version in preference
to any punctuation character]
0 text document [Note: this is ASCII character 48, not ASCII NUL]
1 gopher menu
7 searchable index (not implemented in current version of !gopherd)
8 telnet
9 binary file
g GIF
H HTML
h HTML
I image
; movie
< sound
s sound
End the menu by having a single . character on a line on its own.
Note that the 'selector' is completely opaque to any client (ie. it
mustn't parse it). It will be sent as is to the server, or a web
client will convert it into a hyperlink reference as:
gopher://host:port/selector
There is no concept of relative filenames.
How to edit the top level menu
==============================
Edit the menu in !GopherD.gopher_top
How to browse your gopher database with ArcWeb
==============================================
You can browse your new gopher database with any web browser which
supports gopher either natively (like ArcWeb 0.37 and later) or
via a proxy. The URL for the top level menu of the server is
just: gopher://host.domain/ where host.domain is your machine
name. In reality, the URL should be gopher://host.domain/1 indicating
that it is a menu, but web browsers assume this. The 1 ^^^ is the
gopher type byte. It is used by the web browser to predetermine the
type of object which it is downloading and is NOT passed to the gopher
server at all.
eg. To get my GIF from the supplied sample setup, you would have a URL:
gopher://host.domain/gg/stewart.gif
The client sends to the server: g/stewart.gif
and the server sends <gopher$base>.g.stewart/gif
The web client would ASSUME that the object was a GIF based on the
first g in the URL, although it may check the returned object to
confirm that.
==END==